import asyncio


# 注解表示该函数为协程函数
@asyncio.coroutine
def func1():
    print(1)
    yield from asyncio.sleep(2)  # 遇到io耗时操作，自动化切换到tasks中的其他任务
    print(2)


@asyncio.coroutine
def func2():
    print(3)
    yield from asyncio.sleep(2)  # 遇到io耗时操作，自动化切换到tasks中的其他任务
    print(4)

#将两个协程函数加入tasks中
tasks = [
    asyncio.ensure_future(func1()),
    asyncio.ensure_future(func2())
]
#执行协程函数
loop = asyncio.get_event_loop()
loop.run_until_complete(asyncio.wait(tasks))
